/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.server.modules.sys.entity.loan;

import com.server.modules.sys.entity.material.MaterialType;
import org.hibernate.validator.constraints.Length;

import com.server.common.persistence.DataEntity;
import com.server.modules.sys.entity.home.HomeImg;

import java.util.ArrayList;
import java.util.List;

/**
 * 贷款Entity
 * @author 王磊
 * @version 2016-09-13
 */
public class Loan extends DataEntity<Loan> {
	
	private static final long serialVersionUID = 1L;
	protected String typeId;		// 贷款类型ID
	protected String costId;		// 手续费ID
	protected String name;		// 贷款名称
	protected String minRate;		// 最低利率
	protected String maxRate;		// 最高利率
	protected String minAmount;		// 最低额度
	protected String maxAmount;		// 最高额度
	protected String iconUrl;		// 图标地址
	protected String note;		// 摘要
	protected String monthRate;		// 月利率
	protected String area;		// 开发地区
	protected String term;		// 期限
	protected String paymentWay;		// 还款方式
	protected String advancePayment;		// 提前还款
	protected String applyCondition;		// 申请条件
	protected String applyTypeNote;		// 申请类别说明
	protected String mustMaterial;		// 所需材料
	protected String materialNote;		// 材料说明
	protected String bankId;		// 所属银行ID
	protected Boolean recomendFlag;		// 是否推荐标识
	
	protected Boolean boutiqueFlag;		// 是否精品套餐标识
	
	protected HomeImg homeImg;

	protected String bankName;		// 所属银行name

	protected String membermate;    //个人资料和产品所需资料比值

	public String getMembermate() {
		return membermate;
	}

	public void setMembermate(String membermate) {
		this.membermate = membermate;
	}



	public String getBankName() {
		return bankName;
	}

	public void setBankName(String bankName) {
		this.bankName = bankName;
	}

	protected List<MaterialType> materialTypes=new ArrayList<>();

	public List<MaterialType> getMaterialTypes() {
		return materialTypes;
	}

	public void setMaterialTypes(List<MaterialType> materialTypes) {
		this.materialTypes = materialTypes;
	}

	public HomeImg getHomeImg() {
		return homeImg;
	}

	public void setHomeImg(HomeImg homeImg) {
		this.homeImg = homeImg;
	}

	public Loan() {
		super();
	}

	public Loan(String id){
		super(id);
	}

	public Boolean getBoutiqueFlag() {
		return boutiqueFlag;
	}

	public void setBoutiqueFlag(Boolean boutiqueFlag) {
		this.boutiqueFlag = boutiqueFlag;
	}

	@Length(min=1, max=64, message="贷款类型ID长度必须介于 1 和 64 之间")
	public String getTypeId() {
		return typeId;
	}

	public void setTypeId(String typeId) {
		this.typeId = typeId;
	}
	
	@Length(min=1, max=64, message="手续费ID长度必须介于 1 和 64 之间")
	public String getCostId() {
		return costId;
	}

	public void setCostId(String costId) {
		this.costId = costId;
	}
	
	@Length(min=1, max=255, message="贷款名称长度必须介于 1 和 255 之间")
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	public String getMinRate() {
		return minRate;
	}

	public void setMinRate(String minRate) {
		this.minRate = minRate;
	}
	
	public String getMaxRate() {
		return maxRate;
	}

	public void setMaxRate(String maxRate) {
		this.maxRate = maxRate;
	}
	
	public String getMinAmount() {
		return minAmount;
	}

	public void setMinAmount(String minAmount) {
		this.minAmount = minAmount;
	}
	
	public String getMaxAmount() {
		return maxAmount;
	}

	public void setMaxAmount(String maxAmount) {
		this.maxAmount = maxAmount;
	}
	
	@Length(min=1, max=255, message="图标地址长度必须介于 1 和 255 之间")
	public String getIconUrl() {
		return iconUrl;
	}

	public void setIconUrl(String iconUrl) {
		this.iconUrl = iconUrl;
	}
	
	@Length(min=0, max=255, message="摘要长度必须介于 0 和 255 之间")
	public String getNote() {
		return note;
	}

	public void setNote(String note) {
		this.note = note;
	}
	
	public String getMonthRate() {
		return monthRate;
	}

	public void setMonthRate(String monthRate) {
		this.monthRate = monthRate;
	}
	
	@Length(min=1, max=255, message="开发地区长度必须介于 1 和 255 之间")
	public String getArea() {
		return area;
	}

	public void setArea(String area) {
		this.area = area;
	}
	
	@Length(min=1, max=255, message="期限长度必须介于 1 和 255 之间")
	public String getTerm() {
		return term;
	}

	public void setTerm(String term) {
		this.term = term;
	}
	
	@Length(min=1, max=255, message="还款方式长度必须介于 1 和 255 之间")
	public String getPaymentWay() {
		return paymentWay;
	}

	public void setPaymentWay(String paymentWay) {
		this.paymentWay = paymentWay;
	}
	
	@Length(min=1, max=255, message="提前还款长度必须介于 1 和 255 之间")
	public String getAdvancePayment() {
		return advancePayment;
	}

	public void setAdvancePayment(String advancePayment) {
		this.advancePayment = advancePayment;
	}
	
	public String getApplyCondition() {
		return applyCondition;
	}

	public void setApplyCondition(String applyCondition) {
		this.applyCondition = applyCondition;
	}
	
	public String getApplyTypeNote() {
		return applyTypeNote;
	}

	public void setApplyTypeNote(String applyTypeNote) {
		this.applyTypeNote = applyTypeNote;
	}
	
	public String getMustMaterial() {
		return mustMaterial;
	}

	public void setMustMaterial(String mustMaterial) {
		this.mustMaterial = mustMaterial;
	}
	
	public String getMaterialNote() {
		return materialNote;
	}

	public void setMaterialNote(String materialNote) {
		this.materialNote = materialNote;
	}
	
	@Length(min=1, max=64, message="所属银行ID长度必须介于 1 和 64 之间")
	public String getBankId() {
		return bankId;
	}

	public void setBankId(String bankId) {
		this.bankId = bankId;
	}
	public Boolean getRecomendFlag() {
		return recomendFlag;
	}

	public void setRecomendFlag(Boolean recomendFlag) {
		this.recomendFlag = recomendFlag;
	}
	
/*	@Length(min=1, max=1, message="是否推荐标识长度必须介于 1 和 1 之间")
	public String getRecomendFlag() {
		return recomendFlag;
	}

	public void setRecomendFlag(String recomendFlag) {
		this.recomendFlag = recomendFlag;
	}*/
	
	
	
	
}